package cn.ljn.basic.util;


import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

@Slf4j
public class SendEmailUtil{
    private static String auditPassUrl = "http://localhost:8080/shop/activity/";

    private static  String rejectUrl = "http://localhost:8081/#/registerAgain?";

    // 通过Spring的上下文对象获取JavaMailSender
    // 获取context对象
    public static ApplicationContext context = SpringUtil.getApplicationContext();
    // 通过.class文件获取bean的方法 返回对象
    public static JavaMailSender bean = context.getBean(JavaMailSender.class);

    public static void EnterAuditPass(String SetFrom, Long shopId, String SetTo){
        // 1.创建复杂邮件对象
        MimeMessage mimeMessage = bean.createMimeMessage();
        try {
            // 发送激活邮件

            // 2.发送复杂邮件的工具类
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
            helper.setFrom(SetFrom);
            helper.setSubject("测试审批通过邮件");
            // 3.设置文本内容，第二个参数 true 代表是否是一个html内容
            helper.setText("<h1>尊敬的客户，您的申请已通过！请及时点击链接进行店铺激活！:</h1>" +
                    auditPassUrl + shopId, true);
            // 5.设置收件人
            helper.setTo(SetTo);
            // 6.发送邮件
            bean.send(mimeMessage);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

    /**
     * 驳回
     */
    public static void EnterReject(String SetFrom, String note, Long shopId, String SetTo) {
        // 发送邮件
        try {
            // 发送激活邮件
            // 1.创建复杂邮件对象
            MimeMessage mimeMessage = bean.createMimeMessage();
            // 2.发送复杂邮件的工具类
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "utf-8");
            helper.setFrom(SetFrom);
            helper.setSubject("测试审批通过邮件");
            // 3.设置文本内容，第二个参数 true 代表是否是一个html内容
            helper.setText("<h1>很遗憾，您的申请因信息不完善未能通过！请及时点击链接进行店铺信息修改！:</h1>" +
                    "失败原因："+note+"，"+
                    rejectUrl+shopId, true);
            // 5.设置收件人
            helper.setTo(SetTo);
            // 6.发送邮件
            bean.send(mimeMessage);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
}
